package ltd.hanamaki.selenium.study.studySelenium;

import org.apache.commons.io.FileUtils;
import org.openqa.selenium.*;
import org.openqa.selenium.WebDriver.Navigation;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.support.ui.Select;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

import java.io.File;
import java.io.IOException;
import java.util.List;

/**
 * @author : FHM
 * @data : 2021/9/3 - 10:56
 */
public class Demo03 {



    static WebDriver driver;
    static Navigation navigate;

    @BeforeClass
    public void setUp() {
        /* 3.1.  */
        /* 注册 火狐浏览器打开的位置 */
        System.setProperty("webdriver.gecko.driver", "C:\\Program Files\\Mozilla Firefox\\geckodriver.exe");
        /* 3.2 注册 驱动 */
        driver = new FirefoxDriver();

        /* 实例化 导航对象 */
        navigate = driver.navigate();
    }

    @Test
    public void t() throws InterruptedException {
        /* 打开 百度地址 */
        driver.get("file:///C:/Users/86130/Desktop/testhtml/exam/House.html");
        /* 获得 网页的  标题名 */
        System.out.println(driver.getTitle());

        /* 获得 网页的  源代码 */
        System.out.println(driver.getPageSource());

        /* 获得 当前的  资源路径 */
        System.out.println(driver.getCurrentUrl());

        List<WebElement> elements = driver.findElements(By.xpath("//td"));

        for (WebElement element : elements) {
            System.out.println(element.getText());
        }

        WebElement webElement = elements.get(0);
        System.out.println(webElement.getText());

        /* 怎么样 通过 selenium 改变 元素的  样式  */

        /* 获得 网页上的 复选框  实现点击操作 */
        String elment[] = {"c1", "c2", "c3", "c4", "c5"};
        for (int i = 0; i < elment.length; i++) {
            WebElement element = driver.findElement(By.name(elment[i]));
            if (element.isSelected()) {
                element.click();
            }else
            element.click();
        }

        /* 获得元素的 标签名 */
        String tagName = webElement.getTagName();
        System.out.println(tagName);


         /* 获得物业名称文本框 来判断是否 启用 */
        WebElement username = driver.findElement(By.name("username"));
        System.out.println(username.isEnabled());

        /* 获得 指定 属性的 值 */
        String aClass = username.getAttribute("class");
        System.out.println(aClass);

        /* 判断元素是否被隐藏 */
        WebElement element = driver.findElement(By.cssSelector("p.edit"));
        System.out.println(element.isDisplayed());

    }



}
